home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
fb386
/
graf
/
a08.bas
< prev
next >
Wrap
BASIC Source File
|
1993-11-30
|
2KB
|
79 lines
1000 'A08.BAS**************************************************T.K.MOSAKU
1010 SCREEN@ 0:WINDOW(0,0)-(640,480)
1020 CLS
1030 PALETTE 1,[0,0,255]:PALETTE 3,[255, 0,255]
1040 PALETTE 2,[0,180,0]:PALETTE 4,[200,200,100]
1050 A$="☆☆☆ シェルピンスキー曲線を大きさを変えて4度描き重ねています。 ☆☆☆"
1060 AA$="シェルピンスキー曲線"
1070 T1=TIME:S=1
1080 '
1090 LEV=2:C=1:GOSUB *MAIN
1100 WAIT 50
1110 LEV=3:C=2:GOSUB *MAIN
1120 AC=LEN(AA$):AD=(80-AC)\2:LOCATE 0,21:PRINT SPACE$(AD)+AA$
1130 WAIT 100
1140 LEV=4:C=3:GOSUB *MAIN
1150 CC=LEN(A$):D=(80-CC)\2:LOCATE 0,23:PRINT SPACE$(D)+A$
1160 WAIT 100
1170 LEV=5:C=4:GOSUB *MAIN
1180 T2=TIME:T=T2-T1:LOCATE 5,1:PRINT "描き上げる時間--";T;"秒 描いた曲線の数--";4;"本"
1190 WAIT 100
1200 GOTO 1690
1210 '
1220 *MAIN
1230 X1=60:Y1=60:XX=60:YY=0
1240 GOSUB *SETTEI
1250 FOR I=1 TO 4
1260 GOSUB *SEN
1270 LINE STEP(0,0)-STEP(X1,Y1),PSET,%C
1280 GOSUB *TURN90
1290 NEXT
1300 RETURN
1310 '
1320 *SETTEI
1330 X2=320:Y2=240
1340 FOR I=LEV TO 1 STEP -1
1350 X1=X1/2:Y1=Y1/2:XX=XX/2:YY=YY/2
1360 X2=X2-X1:Y2=Y2-Y1:X2=X2-(XX-YY):Y2=Y2-(XX+YY)
1370 NEXT
1380 Y2=Y2-Y1
1390 POINT (X2,Y2)
1400 RETURN
1410 '
1420 *SEN
1430 IF LEV<=0 THEN RETURN
1440 LEV=LEV-1
1450 GOSUB *SEN
1460 LINE STEP(0,0)-STEP(X1,Y1),PSET,%C
1470 GOSUB *TURN90
1480 GOSUB *SEN
1490 GOSUB *TURN270
1500 LINE STEP(0,0)-STEP(XX,YY),PSET,%C
1510 LINE STEP(0,0)-STEP(XX,YY),PSET,%C
1520 GOSUB *TURN270
1530 GOSUB *SEN
1540 LINE STEP(0,0)-STEP(X1,Y1),PSET,%C
1550 GOSUB *TURN90
1560 GOSUB *SEN
1570 LEV=LEV+1
1580 RETURN
1590 '
1600 *TURN90
1610 TURN_X1=X1:X1=-Y1:Y1=TURN_X1
1620 TURN_XX=XX:XX=-YY:YY=TURN_XX
1630 RETURN
1640 '
1650 *TURN270
1660 TURN_X1=X1:X1=Y1:Y1=-TURN_X1
1670 TURN_XX=XX:XX=YY:YY=-TURN_XX
1680 RETURN
1690 '
1700 C(1)=1:C(2)=2:C(3)=2:C(4)=4
1710 XL1=190:XL2=449:YL1=111:YL2=368
1720 FOR L=1 TO 4
1730 LINE (XL1,YL1)-(XL2,YL2),PSET,%C(L),B
1740 XL1=XL1-2:XL2=XL2+2:YL1=YL1-2:YL2=YL2+2
1750 NEXT
1760 WAIT 200'
1770 '